﻿using MediatR;
using System.ComponentModel.DataAnnotations;

namespace Architecture.API.Application.Command.MenuCommand
{
    /// <summary>
    /// 菜单更新命令
    /// </summary>
    public class MenuUpdateCommand : IRequest<int>
    {
        /// <summary>
        /// 菜单ID
        /// </summary>
        public int MenuId { get; set; }

        /// <summary>
        /// 菜单名称
        /// </summary>
        public string? MenuName { get; set; }

        /// <summary>
        /// 点击菜单需要跳转的地址
        /// </summary>
        public string? Url { get; set; }

        /// <summary>
        /// 父级菜单的Id,顶级菜单是0
        /// </summary>
        public int PID { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        public int Sort { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public string? CreatedBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreatedDate { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        public string? UpdatedBy { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdatedDate { get; set; }

        /// <summary>
        /// 删除人
        /// </summary>
        public string? DeletedBy { get; set; }

        /// <summary>
        /// 删除时间
        /// </summary>
        public DateTime? DeletedDate { get; set; }

        /// <summary>
        /// 逻辑状态
        /// </summary>
        public bool IsDeleted { get; set; } = false;
    }
}
